function formParams(formId) {
    var nodes = $("#" + formId).find("input[type='text'],input[type='password'],input[type='hidden'],input[type='radio']:checked," +
        "input[type='checkbox']:checked,textarea,select,img");
    var params = {};
    for (var i = 0; i < nodes.length; i++) {
        var e = $(nodes[i]);
        var name = e.attr("name");
        if (name == undefined) continue;
        if (params[name] == undefined) {
            params[name] = e.attr("value");
        } else {
            params[name] += "|" + e.attr("value");
        }
    }
    return params;
}



//检查是否为int类型
function checkInt(_params) {
    return /^\d+$/.test(_params);
}
//检查是否为float类型
function checkFloat(_params) {
    var reg = /^(-|\+)?\d+\.\d*$/;
    return checkInt(_params) || reg.test(_params);
}
//检查是否为金钱类型
function checkMoney(_params) {
    var reg = /^(-?\d+)(\.\d{0,2})?$/;     //小数格式
    return reg.test(_params);
}

//检查是否为email类型
function checkEmail(_params) {
    var t = /^([a-zA-Z0-9]+[_|\\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
    return t.test(_params);
}
//检查是否数字类型
function checkSZ(_params) {
    var t = /^\d+$/;
    return t.test(_params);
}
//检查是否为手机号11位
function checkMobile(_params) {
    var t = /^[0-9]{11}$/;
    return t.test(_params);
}
function checkTelephone(_params) {
    var t = /(\d{3}-|\d{4}-)?(\d{8}|\d{7})?/;
    return t.test(_params);
}
//检查账号是否为字母数字下划线组成
function checkAccount(_params) {
    var t = /^(?!_)(?!.*?_$)[a-zA-Z0-9_]+$/;
    return t.test(_params);
}
//跳转连接
function go(url) {
    window.location.href = url;
}

//刷新
function reload() {
    window.location.reload();
}
//返回上一页不刷新
function backToJsp() {
    window.history.go(-1);
}

//判断 字符串是否为空字符串
function isNullOrEmpty(str) {
    if(str == null || str == '' || str == undefined || str.replace(/\s/g, "") == '') {
        return true;
    }
    return false;
}
//时间yyyy-MM-dd 转换成long型
function timeFromTimeToLong(time) {
    if(isNullOrEmpty(time)) {
        return 0;
    }
    return new Date(Date.parse(time.replace(/-/g, "/"))).getTime();
}
//获取今日零点的时间，Long
function getCurrentStartTime(){
    var date = getFormatDate(new Date(),"yyyy-MM-dd");
    return timeFromTimeToLong(date);
}

//判断文件类型是否为图片格式
function isImage(name) {
    if(isNullOrEmpty(name)) {
        return false;
    }
    var extStart = name.lastIndexOf(".");
    var ext= name.substring(extStart,name.length).toUpperCase();
    if(ext!=".BMP"&&ext!=".PNG"&&ext!=".GIF"&&ext!=".JPG"&&ext!=".JPEG"){
        return false;
    }else{
        return true;
    }
}

//金钱格式化 保留 2 位小数   toFixed如果小数点前和要截取的前一位都是0时，不会按常理截取。
function moneyFormat(num) {
    try {
        if(isNullOrEmpty(num)) {
            num = 0;
        }
        var add = 0;
        var len = 2;
        var s,temp;
        var s1 = num + "";
        var start = s1.indexOf(".");
        if(s1.substr(start+len+1,1)>=5)add=1;
        var temp = Math.pow(10,len);
        s = Math.floor(num * temp) + add;
        return (s/temp).toFixed(2);
    } catch (e) {
        return num;
    }
}


/**
 * 上传文件
 * @param fileUploadId 文件id
 * @param name img元素的name属性
 * @param viewDiv 显示图片的div的id属性值
 * @param width
 * @param height
 * @param type 上传图片
 */
function uploadFile(fileUploadId, name, viewDiv, width, height, type) {
    var action ;
    if(type == 'image') {
        action = "uploadImage";
    } else if(type == 'file') {
        action = 'uploadFile';
    }
    $.ajaxFileUpload(
        {
            url: "/"+action+".do?_t=" + new Date().getTime(),            //需要链接到服务器地址
            secureuri: false,//是否启用安全提交，默认为false
            fileElementId: fileUploadId,                        //文件选择框的id属性
            dataType: 'json',                                     //服务器返回的格式，可以是json, xml
            success: function (data, status)  //服务器成功响应处理函数
            {
                if (data.success) {
                    if($("input[name='"+name+"']").length && $("input[name='"+name+"']").length>0){
                        $("input[name='"+name+"']").val(data.data);
                    }else {
                        var html = '';
                        if(type == 'image') {
                            html = '<img style="cursor: pointer" ' +
                                'onmousedown="deleteImage(event, this)" ' +
                                'src="' + data.data + '" width="' + width + '" height="'+height+'" name="' + name + '" title="点击右键删除"/>';
                        } else if(type == 'file') {
                            html = '<input type="hidden" readonly name="'+name+'" value="'+data.data+'" ' +
                                'style="width:60%;border:1px solid #e5e5e5;line-height:32px;height:32px;border-radius:4px;padding:0 5px"/>';

                        }
                        //alert("上传成功");
                        $("#" + viewDiv).html(html);
                    }

                } else {
                    alert(data.msg);
                }
            }
        }
    );
}
//移除上传的图片依附于 uploadImage 这个方法
function deleteImage(e, node) {
    if (e.button == 2) {
        if (confirm("确定移除该图片吗？")) {
            $(node).remove();
        }
    }
}

//获取上传图片路径
function getImagePath(name) {
    var url = $("img[name='"+name+"']").attr("src");
    if(url == null || url == '' || url == undefined) {
        return "";
    } else {
        return url;
    }
}

//获取上传多图片路径
function getImagesPath(name) {
    var images = "";
    $("img[name='"+name+"']").each(function(){
        if(images == "") {
            images = $(this).attr("src");
        } else {
            images = images + "|" + $(this).attr("src");
        }
    });
    return images;
}

function GetRequest() {
    var url = location.search; //获取url中"?"符后的字串
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}

//function checkAll(node) {
//    if($(node).attr("checked")) {
//        $("input[name='select']").each(function(){
//            $(this).attr("checked", true);
//        });
//    } else {
//        $("input[name='select']").each(function(){
//            $(this).attr("checked", false);
//        });
//    }
//}

//通用 获取列表中选择的数据的id
function getSelectChecked() {
    var ids = [];
    $("input[name='select']:checked").each(function(){
        ids.push($(this).attr("value"));
    });
    return ids;
}
function getOneSelectChecked() {
    var ids = getSelectChecked();
    if(ids.length == 0 || ids.length > 1) {
        return null;
    }
    return ids[0];
}

//获取当前时间戳
function getTimeLong() {
    return new Date().getTime();
}




//搜索
function pageUrl(_index) {
    $("input[name='index']").val(_index);
    $("#searchList").submit();
}





/**
 * 列表页面根据条件分页查询
 * @param url  action路径
 * @param index 第几页 如果是第一页，传空即可
 * @param formId 列表查询条件的form 的id
 */
function page_url(url, index, formId) {
    var params = "";
    if(!isNullOrEmpty(formId)) {
        var nodes = $("#" + formId).find("input[type='text'],input[type='password'],input[type='hidden'],input[type='radio']:checked," +
            "input[type='checkbox']:checked,textarea,select");
        for (var i = 0; i < nodes.length; i++) {
            var e = $(nodes[i]);
            var name = e.attr("name");
            var value = e.attr("value");
            if (name == undefined) continue;
            if(isNullOrEmpty(value)) {
                continue;
            }
            if(params == "") {
                params = name + "=" + value;
            } else {
                params = params + "&" + name + "=" + value;
            }
        }
    }
    if(!isNullOrEmpty(index)) {
        if(isNullOrEmpty(params)) {
            params = "index=" + index;
        } else {
            params = params + "&" + "index=" + index;
        }
    }
    loadMainUrl(url, params);
}

//params 格式：a=b&c=d
function loadMainUrl(url, datas) {
    var params = {};
    if(!isNullOrEmpty(datas)) {
        var paramsArray = datas.split("&");
        for (var i = 0; i < paramsArray.length; i++) {
            var tempArray = paramsArray[i].split("=");
            if(tempArray == null || tempArray.length != 2) {
                continue;
            }
            params[tempArray[0]] = tempArray[1];
        }
    }
    var _url = url + ".do?_t=" + new Date().getTime();
    $.ajax({url: _url, type: "post", data: params, success: function (data) {
        $("#main-div").html(data);
    }});
}

function decodeChineseWords(params) {
    if (params["cn"] == undefined || params["cn"] == "") {
        return;
    }
    var cns = params["cn"].split(","), i;
    for (i = 0; i < cns.length; i++) {
        params[cns[i]] = decodeURIComponent(params[cns[i]]);
    }
}



//扩展Date的format方法
Date.prototype.format = function (format) {
    var o = {
        "M+": this.getMonth() + 1,
        "d+": this.getDate(),
        "h+": this.getHours(),
        "m+": this.getMinutes(),
        "s+": this.getSeconds(),
        "q+": Math.floor((this.getMonth() + 3) / 3),
        "S": this.getMilliseconds()
    }
    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }
    for (var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
}
/**
 *转换日期对象为日期字符串
 * @param date 日期对象
 * @param isFull 是否为完整的日期数据,
 * 为true时, 格式如"2000-03-05 01:05:04"
 * 为false时, 格式如 "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatDate(date, isFull) {
    var pattern = "";
    if (isFull == true || isFull == undefined) {
        pattern = "yyyy-MM-dd hh:mm:ss";
    } else {
        pattern = "yyyy-MM-dd";
    }
    return getFormatDate(date, pattern);
}
/**
 *转换当前日期对象为日期字符串
 * @param date 日期对象
 * @param isFull 是否为完整的日期数据,
 * 为true时, 格式如"2000-03-05 01:05:04"
 * 为false时, 格式如 "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatNowDate(isFull) {
    return getSmpFormatDate(new Date(), isFull);
}
/**
 *转换long值为日期字符串
 * @param l long值
 * @param isFull 是否为完整的日期数据,
 * 为true时, 格式如"2000-03-05 01:05:04"
 * 为false时, 格式如 "2000-03-05"
 * @return 符合要求的日期字符串
 */
function getSmpFormatDateByLong(l, isFull) {
    return getSmpFormatDate(new Date(l), isFull);
}
/**
 *转换long值为日期字符串
 * @param l long值
 * @param pattern 格式字符串,例如：yyyy-MM-dd hh:mm:ss
 * @return 符合要求的日期字符串
 */
function getFormatDateByLong(l, pattern) {
    if(l == 0) {
        return "";
    }
    return getFormatDate(new Date(l), pattern);
}
/**
 *转换日期对象为日期字符串
 * @param l long值
 * @param pattern 格式字符串,例如：yyyy-MM-dd hh:mm:ss
 * @return 符合要求的日期字符串
 */
function getFormatDate(date, pattern) {
    if (date == undefined) {
        date = new Date();
    }
    if (pattern == undefined) {
        pattern = "yyyy-MM-dd hh:mm:ss";
    }
    return date.format(pattern);
}


//ajax请求数据
function ajaxSend(url, params, callback) {
    if(params == null) {
        params = {};
    }
    $.ajax({
        url:url + '?_t=' + getTimeLong(),
        data:params,
        dataType:'json',
        type:'post',
        success:function(data) {
            if (callback && typeof callback == 'function') {
                if (data) {
                    callback(data);
                }
            }
        }
    });
}

//跳页
function goWxMemberPage(name) {
    go("/wxMember/page.do?name=" + name);
}

//检验是否是整数
function isNumber(num){
    return /^\d+$/.test(num);
}